<?php

define( "FADDE_MAIN", 0);
define( "FADDE_AJAX", 1);
define( "FADDE_ADD", 2);

require_once '../mvc/add_event_view.php';

class AddEventController {
	private $add_event_view;
	private $usuario;

	function __construct( &$usuario) {
		$this->usuario =& $usuario;
		$this->add_event_view = new AddEventView();
	}

	function display() {
		$fadde = isset( $_GET['fadde']) ? $_GET['fadde'] : FADDE_MAIN;

		switch( $fadde) {
			default:
			case FADDE_MAIN:
				$ano = isset( $_GET['ano']) ? $_GET['ano'] : '';
				$mes = isset( $_GET['mes']) ? $_GET['mes'] : '';
				$dia = isset( $_GET['dia']) ? $_GET['dia'] : '';
				$hora = isset( $_GET['hora']) ? $_GET['hora'] : '08:00';

				$this->add_event_view->display( $ano, $mes, $dia, $hora, $this->usuario->get_calendarios());
				break;
			case FADDE_ADD:
				if( $_POST) {
					$error = array();

					$evento['titulo'] = isset( $_POST['ae_titulo']) ? trim( $_POST['ae_titulo']) : '';
					$evento['ubicacion'] = isset( $_POST['ae_ubicacion']) ? trim( $_POST['ae_ubicacion']) : '';

					$evento['cal_id'] = $_POST['ae_calendario'];
					$evento['categoria'] = $_POST['ae_categoria'];
					$evento['ambito'] = $_POST['ae_ambito'];
					$evento['prioridad'] = $_POST['ae_prioridad'];

					$evento['tipo'] = $_POST['ae_tipo'];

					$evento['chk_hora'] = isset( $_POST['ae_chk_hoasoc']) ? true : false;

					$evento['chk_fecha_inicio'] = isset($_POST['ae_chk_fini']) ? true : false;
					$evento['fecha_inicio'] = isset( $_POST['ae_finicio']) ? trim( $_POST['ae_finicio']) : '';
					$evento['hora_inicio'] = isset( $_POST['ae_hinicio']) ? trim( $_POST['ae_hinicio']) : '';
			
					$evento['chk_fecha_fin'] = isset( $_POST['ae_chk_ffin']) ? true : false;
					$evento['fecha_fin'] = isset( $_POST['ae_ffin']) ? trim( $_POST['ae_ffin']) : '';
					$evento['hora_fin'] = isset( $_POST['ae_hfin']) ? trim( $_POST['ae_hfin']) : '';
					
					$evento['recurrente'] = $_POST['ae_recurrente'];
					
					$evento['cada_dias'] = isset( $_POST['ae_in_rec_d']) ? trim( $_POST['ae_in_rec_d']) : '';
					$evento['cada_semanas'] = isset( $_POST['ae_in_rec_s']) ? trim( $_POST['ae_in_rec_s']) : '';
					$evento['cada_meses'] = isset( $_POST['ae_in_rec_m']) ? trim( $_POST['ae_in_rec_m']) : '';
					$evento['cada_anos'] = isset( $_POST['ae_in_rec_a']) ? trim( $_POST['ae_in_rec_a']) : '';

					$evento['chk_lu'] = isset( $_POST['ae_chk_lu']) ? true : false;
					$evento['chk_ma'] = isset( $_POST['ae_chk_ma']) ? true : false;
					$evento['chk_mi'] = isset( $_POST['ae_chk_mi']) ? true : false;
					$evento['chk_ju'] = isset( $_POST['ae_chk_ju']) ? true : false;
					$evento['chk_vi'] = isset( $_POST['ae_chk_vi']) ? true : false;
					$evento['chk_sa'] = isset( $_POST['ae_chk_sa']) ? true : false;
					$evento['chk_do'] = isset( $_POST['ae_chk_do']) ? true : false;

					$evento['descripcion'] = isset( $_POST['ae_descripcion']) ? trim( $_POST['ae_descripcion']) : '';

					if( $evento['titulo'] == '') $error['titulo'] = "ERROR -- titulo incorrecto.";

					if( count( $error) > 0 ) {
						$error['error'] = 1;
						echo json_encode( $error);
						break;
					}
					if( !$this->usuario->add_evento( $evento)) {
						$error['error'] = 'ERROR - al insertar un evento.';
						echo json_encode( $error);
						break;
					}
					$response['error'] = 0;
					echo json_encode( $response);
				}
				break;
		}
	}
}

?>
